package com.hw01.service;

import com.hw01.common.Result;
import com.hw01.entity.EmployeeWorkloads;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hw01.vo.EmployeeWorkloadsSumVo;
import com.hw01.vo.EmployeeWorkloadsVo;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 员工工作量 服务类
 * </p>
 *
 * @author zhong
 * @since 2024-03-18
 */
public interface EmployeeWorkloadsService extends IService<EmployeeWorkloads> {

    /**
     * 员工提交工作量记录
     *
     * @param userId 员工id
     * @param year 年份
     * @param month 月份
     * @return 结果
     */
    Result<List<EmployeeWorkloadsVo>> getEmployeeWorkloadsList(Long userId, String year, String month);


    /**
     * 员工查询工作量
     *
     * @param userId 员工id
     * @param year 年份
     * @param month 月份
     * @return 结果
     */
    Result<EmployeeWorkloadsSumVo> getEmployeeWorkloads(Long userId, String year, String month);

    /**
     * 员工提交工作量
     * 
     * @param userId 员工id
     * @param submissionDate 提交日期
     * @param committedWorkloads 提交的工作量
     * @return 结果
     */
    Result<Boolean> committedWorkloads(Long userId, LocalDate submissionDate, Byte committedWorkloads);

    /**
     * 队长确认工作量
     * 
     * @param id 主键id
     * @param file 核实图片
     * @return 结果
     */
    Result<String> leaderVerify(Long id, MultipartFile file);
}
